Built-in Functions (String, Numeric, Date Functions) গাইড ও নোট

Big Data and Analytics - স্পার্ক এসকিউএল (Spark SQL) - Spark SQL Functions এবং Expressions
299

Spark SQL এ বিভিন্ন ধরনের built-in functions রয়েছে যা ডেটা প্রসেসিংয়ের জন্য অত্যন্ত কার্যকরী। এই ফাংশনগুলো আপনাকে স্ট্রিং, নাম্বার, ডেটা, এবং অন্যান্য ডেটা টাইপের ওপর বিভিন্ন অপারেশন চালানোর সুবিধা দেয়। Spark SQL-এর built-in functions আপনি DataFrame API অথবা SQL কোয়ারির মাধ্যমে ব্যবহার করতে পারেন।


১. String Functions

Spark SQL-এ স্ট্রিং ডেটার উপর বিভিন্ন ধরনের built-in ফাংশন রয়েছে যা স্ট্রিং প্রসেসিংয়ের জন্য ব্যবহৃত হয়। এর মধ্যে কিছু জনপ্রিয় স্ট্রিং ফাংশন হলো:

১.১. length(): স্ট্রিংয়ের দৈর্ঘ্য নির্ণয় করা।

from pyspark.sql.functions import length

df = spark.createDataFrame([("Alice",), ("Bob",)], ["Name"])
df.select(length(df["Name"])).show()

১.২. upper(): স্ট্রিংকে বড় হাতের অক্ষরে রূপান্তর করা।

from pyspark.sql.functions import upper

df.select(upper(df["Name"])).show()

১.৩. lower(): স্ট্রিংকে ছোট হাতের অক্ষরে রূপান্তর করা।

from pyspark.sql.functions import lower

df.select(lower(df["Name"])).show()

১.৪. concat(): একাধিক স্ট্রিং একত্রিত করা।

from pyspark.sql.functions import concat

df.select(concat(df["Name"], df["Name"])).show()

১.৫. substr(): স্ট্রিংয়ের নির্দিষ্ট অংশ বের করা।

from pyspark.sql.functions import substr

df.select(substr(df["Name"], 1, 2)).show()  # প্রথম ২টি অক্ষর বের করবে

২. Numeric Functions

Spark SQL-এ সংখ্যার সাথে কাজ করার জন্যও অনেক built-in numeric ফাংশন রয়েছে। কিছু জনপ্রিয় numeric ফাংশন:

২.১. abs(): একটি সংখ্যার অভ্যন্তরীণ মান বের করা।

from pyspark.sql.functions import abs

df = spark.createDataFrame([(-5,), (3,)], ["Number"])
df.select(abs(df["Number"])).show()

২.২. round(): একটি সংখ্যাকে নির্দিষ্ট দশমিক স্থানে গোল করা।

from pyspark.sql.functions import round

df = spark.createDataFrame([(5.6789,), (3.1415,)], ["Value"])
df.select(round(df["Value"], 2)).show()  # ২ দশমিক পর্যন্ত গোল করবে

২.৩. ceil(): একটি সংখ্যাকে পরবর্তী পূর্ণসংখ্যায় রাউন্ড করা।

from pyspark.sql.functions import ceil

df.select(ceil(df["Value"])).show()

২.৪. floor(): একটি সংখ্যাকে পূর্ববর্তী পূর্ণসংখ্যায় রাউন্ড করা।

from pyspark.sql.functions import floor

df.select(floor(df["Value"])).show()

২.৫. avg(): একটি কলামের গড় মান বের করা।

from pyspark.sql.functions import avg

df.select(avg(df["Value"])).show()

৩. Date Functions

Spark SQL-এ ডেটার সাথে কাজ করার জন্যও অনেক built-in date ফাংশন রয়েছে। এই ফাংশনগুলো ডেটা প্রসেসিংয়ের জন্য খুবই সহায়ক।

৩.১. current_date(): বর্তমান দিনের তারিখ বের করা।

from pyspark.sql.functions import current_date

df = spark.createDataFrame([(1,)], ["ID"])
df.select(current_date()).show()

৩.২. current_timestamp(): বর্তমান সময় এবং তারিখ বের করা।

from pyspark.sql.functions import current_timestamp

df.select(current_timestamp()).show()

৩.৩. date_add(): একটি তারিখে নির্দিষ্ট দিন যোগ করা।

from pyspark.sql.functions import date_add

df = spark.createDataFrame([("2024-12-19",)], ["Date"])
df.select(date_add(df["Date"], 5)).show()  # ৫ দিন যোগ করবে

৩.৪. date_sub(): একটি তারিখ থেকে নির্দিষ্ট দিন বাদ দেওয়া।

from pyspark.sql.functions import date_sub

df.select(date_sub(df["Date"], 5)).show()  # ৫ দিন বাদ দিবে

৩.৫. year(): একটি তারিখের বছর বের করা।

from pyspark.sql.functions import year

df.select(year(df["Date"])).show()

৩.৬. month(): একটি তারিখের মাস বের করা।

from pyspark.sql.functions import month

df.select(month(df["Date"])).show()

৩.৭. datediff(): দুটি তারিখের মধ্যে পার্থক্য (দিনে) বের করা।

from pyspark.sql.functions import datediff

df = spark.createDataFrame([("2024-12-19", "2024-12-15")], ["Date1", "Date2"])
df.select(datediff(df["Date1"], df["Date2"])).show()

সারাংশ

Spark SQL-এর built-in functions বিভিন্ন ধরনের ডেটা (স্ট্রিং, নাম্বার, ডেটা) প্রসেসিংয়ের জন্য শক্তিশালী এবং কার্যকরী টুল প্রদান করে। আপনি এই ফাংশনগুলো ব্যবহার করে স্ট্রিংয়ের দৈর্ঘ্য নির্ণয় করা, সংখ্যা গোল করা, ডেটা থেকে মাস বা বছর বের করা ইত্যাদি অপারেশন সহজেই করতে পারবেন। Spark SQL এর ফাংশনগুলো ডেটা ফ্রেম API অথবা SQL কোয়ারি ব্যবহার করে প্রয়োগ করা যায়, যা ডেটা প্রসেসিংকে আরও দ্রুত এবং সহজ করে তোলে।

Content added By
Promotion

Are you sure to start over?

Loading...